package com.hx.er.dao;

import java.util.List;
import java.util.Map;

import com.hx.er.bean.base.CityBean;
import com.hx.er.bean.base.CountryBean;
import com.hx.er.bean.base.DistrictBean;
import com.hx.er.bean.base.StreetBean;
import com.hx.er.bean.detail.CityDetailBean;
import com.hx.er.bean.detail.DistrictDetailBean;
import com.hx.er.bean.detail.StreetDetailBean;

public interface ILocationDao {
	public List<CountryBean> getCountryList(Map<String, Object> conditions);

	public void insertCountryWithoutId(CountryBean countryBean);

	public CountryBean getCountryById(long countryId);

	/* 城市 */
	public List<CityBean> getCityList(Map<String, Object> conditions);

	public List<CityDetailBean> getCityDetailList(Map<String, Object> conditions);

	public CityDetailBean getCityDetailById(long cityId);

	public CityBean getCityById(long cityId);

	public int getCityDetailCount(Map<String, Object> conditions);

	public void insertCityWithoutId(CityBean cityBean);

	public int checkCityBean(CityBean cityBean);

	public int updateCity(CityBean cityBean);

	public int deleteCity(CityBean cityBean);

	public int reviveCity(CityBean cityBean);

	/* 区 */
	public List<DistrictDetailBean> getDistrictDetailList(Map<String, Object> conditions);

	public int getDistrictDetailCount(Map<String, Object> conditions);

	public void insertDistrictWithoutId(DistrictBean districtBean);

	public DistrictDetailBean getDistrictDetailById(long districtId);

	public int checkDistrictBean(DistrictBean districtBean);

	public int updateDistrict(DistrictBean districtBean);

	public int deleteDistrict(DistrictBean districtBean);

	public int reviveDistrict(DistrictBean districtBean);

	/* 街 */
	public List<StreetDetailBean> getStreetDetailList(Map<String, Object> conditions);

	public int getStreetDetailCount(Map<String, Object> conditions);

	public void insertStreetWithoutId(StreetBean streetBean);
	
	public StreetDetailBean getStreetDetailById(long streetId);

	public int checkStreetBean(StreetBean streetBean);

	public int updateStreet(StreetBean streetBean);

	public int deleteStreet(StreetBean streetBean);

	public int reviveStreet(StreetBean streetBean);
}
